Skip to content

fix: handle missing tool_call.id in runTools for providers#1946

Closed
anishesg wants to merge 1 commit into
openai:mainfrom
proudhare:fix/ph-issue-1528
Closed

fix: handle missing tool_call.id in runTools for providers#1946
anishesg wants to merge 1 commit into
openai:mainfrom
proudhare:fix/ph-issue-1528

Conversation

@anishesg

Copy link
Copy Markdown

Some providers do not populate the tool_call.id field when returning tool calls, or may set it to an empty string. When the SDK's AbstractChatCompletionRunner._runTools() method constructs tool result messages to send back to the API, it uses this empty or missing tool_call_id, which causes the API to reject the request with a 400 status code.

This fix adds a defensive fallback in AbstractChatCompletionRunner.ts at line 346. When tool_call.id is missing or empty, the function name is used as the tool_call_id instead. This ensures that tool result messages always have a valid identifier, preventing the 400 error while maintaining compatibility with all providers.

Fixes #1528

Some providers do not populate the `tool_call.id` field when returning tool calls, or may set it to an empty string. When the SDK's `AbstractChatCompletionRunner._runTools()` method constructs tool result messages to send back to the API, it uses this empty or missing `tool_call_id`, which causes the API to reject the request with a 400 status code.

Signed-off-by: anish <anishesg@users.noreply.github.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e91393f9bd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/AbstractChatCompletionRunner.ts
@HAYDEN-OAI

HAYDEN-OAI commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

hey @anishesg, thanks again for putting this together! really appreciate your patience while we worked through the integration details. the fix is now merged via #1958. thanks for the contribution and for bearing with us while we got it over the line. closing this one out now 🎉

@HAYDEN-OAI HAYDEN-OAI closed this Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

runTools giving BadRequestError: 400 status code (no body)

2 participants